Mit der CASE -Anweisung bestimmen Sie, dass eine Gruppe von Anweisungen dann ausgeführt wird, falls der ausgewertete Wert des Selektors (nach CASE eingegeben) der Marke entspricht, die für diese Gruppe von Anweisungen eingegeben ist. Falls der Wert des Selektors keiner der Marken entspricht, wird entweder keine Anweisung ausgeführt oder jene Gruppe von Anweisungen ausgeführt, die dem Schlüsselwort ELSE folgt.
Eine Marke darf eine oder mehrere ganzzahlige →Literale/→Variablen, Aufzählungswerte oder Bereiche sein und muss als →konstanter Wert zur Laufzeit ausgewertet werden. Der Datentyp der Marken muss in den Datentyp des Selektors implizit konvertierbar sein.
Detail-Erläuterungen zu CASE
Teil der CASE-Anweisung
|
Erläuterung
|
CASE selector OF
1: statements-A;
2, 3: statements-B;
4..6, 7: statements-C;
...
|
|
-
Falls der Wert des Selektors der Marke 1 entspricht (also: bei Wert = 1 ), setzt die Ausführung mit dem Anweisungsblock statements-A fort. Nach Ausführung des Anweisungsblocks wird hinter END_CASE fortgesetzt.
-
Bei Wert = 2 oder 3 setzt die Ausführung mit dem Anweisungsblock statements-B fort. Nach Ausführung des Anweisungsblocks wird hinter END_CASE fortgesetzt.
-
Bei Wert = 4 , 5 , 6 oder 7 setzt die Ausführung mit dem Anweisungsblock statements-C fort. Nach Ausführung des Anweisungsblocks wird hinter END_CASE fortgesetzt.
Jeder Anweisungsblock darf beliebig viele Anweisungen enthalten. Sie dürfen beliebig viele Marken und Anweisungblöcke einfügen. Falls Sie die gleichen Werte für Marken eingeben, kommt der zuerst eingegebene Anweisungsblock zur Ausführung, da Neuron Power Engineer von oben nach unten vergleicht.
|
|
Der Anweisungsblock hinter ELSE wird nur ausgeführt, wenn keine der Marken mit dem Wert des Selektors übereinstimmt. Der Anweisungsblock darf beliebig viele Anweisungen enthalten. Nach Ausführung des Anweisungsblocks wird hinter END_CASE fortgesetzt.
Sie dürfen den ELSE -Teil entfallen lassen.
|
|
Damit wird die CASE -Anweisung beendet.
|
|